AES instruction set
Advanced Encryption Standard (AES) Instruction Set is an extension to the x86 instruction set architecture for microprocessors from Intel and AMD proposed by Intel in March 2008.[1] The purpose of the instruction set is to improve the speed of applications performing encryption and decryption using the Advanced Encryption Standard (AES).
VIA x86 CPUs use the proprietary PadLock engine for accelerated AES key handling instead.
New instructions
Instruction |
Description |
AESENC |
Perform one round of an AES encryption flow |
AESENCLAST |
Perform the last round of an AES encryption flow |
AESDEC |
Perform one round of an AES decryption flow |
AESDECLAST |
Perform the last round of an AES decryption flow |
AESKEYGENASSIST |
Assist in AES round key generation |
AESIMC |
Assist in AES Inverse Mix Columns |
PCLMULQDQ |
Carryless multiply (CLMUL).[2] |
CPUs and GPUs with AES instruction set
- Intel
- Intel Westmere based processors, specifically:
- Intel Gulftown processors.
- Intel Clarkdale processors (except Core i3).
- Intel Arrandale processors (except Core i3, Core i5-4XXM).
- Intel Sandy Bridge processors:
- Desktop: all except Pentium, Celeron, Core i3, [3][4]
- Mobile: all Core i7 and low power (17W TDP) Core i5. Though the Intel web pages originally listed the 2630QM and 2635QM as not supporting it, those web pages have been updated to indicate that they do.[5][6] Several vendors have shipped BIOS configurations with the extension disabled,[7] requiring a BIOS update to fix...[8]
- Intel Ivy Bridge processors
- Intel has a list of processors that support AES-NI on their web site[9]
- AMD
- VIA
Performance
In AES-NI Performance Analyzed, Patrick Schmid and Achim Roos found, "... impressive results from a handful of applications already optimized to take advantage of Intel's AES-NI capability".[14] A performance analysis using the Crypto++ security library showed an increase in throughput from approximately 28.0 cycles per byte to 3.5 cycles per byte with AES/GCM versus a Pentium 4 with no acceleration.[15][16]
Software supporting AES instruction set
The following software supports the using of AES instruction set.
See also
References
- ^ "Intel Software Network". Intel. http://softwareprojects.intel.com/avx/. Retrieved 2008-04-05.
- ^ "Carry-Less Multiplication". Intel. http://software.intel.com/en-us/articles/intel-carry-less-multiplication-instruction-and-its-usage-for-computing-the-gcm-mode/.
- ^ http://www.anandtech.com/show/4083/the-sandy-bridge-review-intel-core-i5-2600k-i5-2500k-and-core-i3-2100-tested/2
- ^ http://ark.intel.com/compare/53415,63913,58667,53480,53481,53482,53483,53484,53485,53490,53491,53492,53416,53414
- ^ http://ark.intel.com/Product.aspx?id=52219
- ^ http://ark.intel.com/Product.aspx?id=53463
- ^ http://forum.notebookreview.com/windows-os-software/582628-aes-ni-support-truecrypt-sandy-bridge-problem.html
- ^ "Some products can support AES New Instructions with a Processor Configuration update, in particular, i7-2630QM/i7-2635QM, i7-2670QM/i7-2675QM, i5-2430M/i5-2435M, i5-2410M/i5-2415M. Please contact OEM for the BIOS that includes the latest Processor configuration update.". http://ark.intel.com/products/52224/Intel-Core-i5-2410M-Processor-%283M-Cache-2_30-GHz%29.
- ^ http://ark.intel.com/search/advanced/?s=t&AESTech=true
- ^ "Following Instructions". AMD. November 22, 2010. http://blogs.amd.com/work/2010/11/22/following-instructions/. Retrieved 2011-01-04.
- ^ "VIA Padlock Security Engine". VIA. unknown. http://www.via.com.tw/en/initiatives/padlock/hardware.jsp#aes. Retrieved 2011-11-14.
- ^ "VIA Eden-N Processors". VIA. unknown. http://www.via.com.tw/en/products/processors/eden-n/. Retrieved 2011-11-14.
- ^ "VIA C7 Processors". VIA. unknown. http://www.via.com.tw/en/products/processors/c7/. Retrieved 2011-11-14.
- ^ P. Schmid and A. Roos (2010). "AES-NI Performance Analyzed". Tom's Hardware. http://www.tomshardware.com/reviews/clarkdale-aes-ni-encryption,2538.html. Retrieved 2010-08-10.
- ^ T. Krovetz, W. Dai (2010). "How to get fast AES calls?". Crypto++ user group. http://groups.google.com/group/cryptopp-users/msg/a688203c2314ef08. Retrieved 2010-08-11.
- ^ "Crypto++ 5.6.0 Pentium 4 Benchmarks". Crypto++ Website. 2009. http://www.cryptopp.com/benchmarks-p4.html. Retrieved 2010-08-10.
- ^ "Information Security Corp., Cryptographic Development Kits (CDKs)". http://www.infoseccorp.com/products/cdk/contents.htm.
- ^ "Intel Advanced Encryption Standard Instructions (AES-NI)". Intel. March 2, 2010. http://software.intel.com/en-us/articles/intel-advanced-encryption-standard-instructions-aes-ni/. Retrieved 2010-07-11.
- ^ "Mac OS X 10.7 Lion: the Ars Technica review". Ars Technica. 2011-07-20. http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars/13. Retrieved 2012-01-03.
- ^ "FreeBSD 8.2 Release Notes". FreeBSD.org. 2011-02-24. http://www.freebsd.org/releases/8.2R/relnotes.html. Retrieved 2011-12-18.
- ^ "The OpenBSD 4.8 Release". OpenBSD.org. November 1, 2010. http://www.openbsd.org/48.html. Retrieved 2010-11-10.
- ^ "The OpenBSD 4.9 Release". OpenBSD.org. May 1, 2011. http://www.openbsd.org/49.html. Retrieved 2011-05-01.
- ^ "[PATCH] Add Intel AES-NI support for 1.0.0 branch". David Woodhouse (Intel). September 25, 2009. http://rt.openssl.org/Ticket/Display.html?id=2065&user=guest&pass=guest. Retrieved 2010-10-30.
- ^ "Transparent Data Encryption". Oracle. January 17, 2011. http://www.oracle.com/technetwork/database/options/advanced-security/index-099011.html. Retrieved 2011-01-17.
- ^ "Information Security Corp., SecretAgent 6". http://www.infoseccorp.com/products/secretagent/contents.htm.
- ^ "SecureDoc Full Disk Encryption". April 8, 2011. http://www.winmagic.com/products/full-disk-encryption.
- ^ "Solaris Cryptographic Framework". Oracle. September 6, 2010. http://www.sun.com/bigadmin/features/articles/crypt_framework.jsp. Retrieved 2010-09-06.
External links